#include "lvgl_app/lvgl_pm/pm_bar.h"

#if LV_PM_USE_STA_BAR == 1
static lv_obj_t* status_bar_cont;
lv_coord_t status_bar_y_default;



LV_IMG_DECLARE(BatChargingIcon);
LV_IMG_DECLARE(BatEempty);
LV_IMG_DECLARE(IconUsb);
/* 对rtc时间进行处理 */
static void rtc_event_cb(lv_event_t* e)
{
    lv_obj_t* lab = lv_event_get_target(e);
    lv_msg_t* m = lv_event_get_msg(e);

    //const char* fmt = lv_msg_get_user_data(m);
    /* 数字填入 */
    lv_pm_rtc_def* v = (lv_pm_rtc_def*)lv_msg_get_payload(m);
    if (v != NULL)
    {
        lv_label_set_text_fmt(lab, "%d-%02d-%02d  %02d:%02d", v->Year, v->Mon, v->Day, v->Hour, v->Min);
    }
}
static void bat_event_cb(lv_event_t* e)
{
    lv_obj_t* img = lv_event_get_target(e);
    lv_msg_t* m = lv_event_get_msg(e);

    //const char* fmt = lv_msg_get_user_data(m);
    /* 数字填入 */
    int8_t quantity = *((int8_t*)lv_msg_get_payload(m));
    static int8_t quantity_last = -2;
    if (quantity > 100)
    {
        quantity = 100;
    }
    if (quantity_last != quantity)
    {
        quantity_last = quantity;
    }
    else
    {
        return;
    }

    lv_obj_t* bat_obj = lv_event_get_user_data(e);
    if (quantity == -1)
    {
        lv_img_set_src(img, &BatChargingIcon);
        lv_obj_set_size(bat_obj, 0, 6);
    }
    else
    {
        uint8_t obj_len = 12 * quantity / 100;
        lv_img_set_src(img, &BatEempty);
        if (quantity < 20)/* 电量低于百分之二十改变颜色 */
        {
            lv_obj_set_style_bg_color(bat_obj, lv_color_make(254, 48, 22), 0);
            lv_obj_set_size(bat_obj, obj_len, 6);
        }
        else
        {
            lv_obj_set_style_bg_color(bat_obj, lv_color_make(0, 255, 0), 0);
            lv_obj_set_size(bat_obj, obj_len, 6);
        }
    }
}
static void ram_event_cb(lv_event_t* e)
{
    lv_obj_t* arc_obj = lv_event_get_target(e);
    lv_obj_t* lab_obj = lv_event_get_user_data(e);
    lv_msg_t* m = lv_event_get_msg(e);

    //const char* fmt = lv_msg_get_user_data(m);
    /* 数字填入 */
    int8_t quantity = *((int8_t*)lv_msg_get_payload(m));
    if (quantity > 99)
    {
        quantity = 99;
    }
    else if (quantity < 0)
    {
        quantity = 0;
    }

    if (quantity > 80)
    {
        lv_obj_set_style_arc_color(arc_obj, lv_color_make(254, 48, 22), LV_PART_INDICATOR);
    }
    else
    {
        lv_obj_set_style_arc_color(arc_obj, lv_color_make(0, 255, 0), LV_PART_INDICATOR);
    }
    lv_arc_set_value(arc_obj, quantity);
    lv_label_set_text_fmt(lab_obj, "%d", quantity);
    lv_obj_align(lab_obj, LV_ALIGN_CENTER, -2, 0);

}
static void usb_event_cb(lv_event_t* e)
{
    lv_obj_t* usb_img = lv_event_get_target(e);
    lv_msg_t* m = lv_event_get_msg(e);

    //const char* fmt = lv_msg_get_user_data(m);
    int8_t quantity = *((int8_t*)lv_msg_get_payload(m));
    if (quantity == 0)
    {
        lv_obj_add_flag(usb_img, LV_OBJ_FLAG_HIDDEN);
    }
    else
    {
        lv_obj_clear_flag(usb_img, LV_OBJ_FLAG_HIDDEN);
    }


}
/* 一般都是对  status_bar 进行修改 例如增加一些icon等*/
void lv_pm_create_status_bar(void)
{
    static lv_style_t status_bar_style;
    lv_style_init(&status_bar_style);

    lv_style_set_bg_opa(&status_bar_style, LV_OPA_10);                                    /* 设置状态栏的透明度 */
    lv_style_set_bg_color(&status_bar_style, lv_color_white());                           /* 设置状态栏渐变颜色 1 */
    lv_style_set_text_color(&status_bar_style, lv_color_white());
#if 0
    /* 使用渐变 */
    lv_style_set_bg_grad_color(&status_bar_style, lv_color_white());/* 设置状态栏渐变颜色 2 */
    lv_style_set_bg_grad_dir(&status_bar_style, LV_GRAD_DIR_VER);                         /* 设置状态栏渐变颜色 方向 */
    lv_style_set_bg_main_stop(&status_bar_style, 0);                                      /* 设置状态栏渐变颜色 开始的数值 */
    lv_style_set_bg_grad_stop(&status_bar_style, 260);                                    /* 设置状态栏渐变颜色 结束的数值 */
#endif
#if 0
    /* 使用外部框线 */
    lv_style_set_outline_color(&status_bar_style, lv_palette_lighten(LV_PALETTE_NONE, 1));/* 设置状态栏外边框颜色 */
    lv_style_set_outline_width(&status_bar_style, 1);                                      /* 设置状态栏外边框像素尺寸 */
#endif
#if 1
    /* 使用外部阴影 使状态栏看起来更柔和*/
    lv_style_set_shadow_width(&status_bar_style, 10);
    lv_style_set_shadow_color(&status_bar_style, lv_palette_main(LV_PALETTE_NONE));
    lv_style_set_shadow_spread(&status_bar_style, 2);
    lv_style_set_shadow_ofs_y(&status_bar_style, -2);
    lv_style_set_shadow_opa(&status_bar_style, LV_OPA_40);
#endif

    /*创建一个状态栏*/
    status_bar_y_default = 25;

    status_bar_cont = lv_obj_create(lv_layer_top());
    lv_obj_clear_flag(status_bar_cont, LV_OBJ_FLAG_CLICKABLE);
    lv_obj_remove_style_all(status_bar_cont);
    lv_obj_set_size(status_bar_cont, lv_pct(100) + 1, status_bar_y_default);
    lv_obj_add_style(status_bar_cont, &status_bar_style, LV_PART_MAIN);
    lv_obj_align(status_bar_cont, LV_ALIGN_TOP_MID, 0, -1);
    lv_obj_set_y(status_bar_cont, -status_bar_y_default);/* 默认设置为隐藏 */
    lv_obj_clear_flag(status_bar_cont, LV_OBJ_FLAG_HIDDEN);
    /* 下方为修改的区域 */

    /* 时间 */
    lv_obj_t* rtc_lab = lv_label_create(status_bar_cont);
    lv_obj_align(rtc_lab, LV_ALIGN_LEFT_MID, 0, 0);
    lv_label_set_text(rtc_lab, "2023-01-09  10:20 ");

    /* 电池 */
    lv_obj_t* bat_img = lv_img_create(status_bar_cont);
    lv_img_set_src(bat_img, &BatEempty);
    lv_obj_align(bat_img, LV_ALIGN_RIGHT_MID, -10, 0);
    lv_obj_t* bat_obj = lv_obj_create(status_bar_cont);
    lv_obj_set_style_radius(bat_obj, 0, 0);
    lv_obj_set_style_border_width(bat_obj, 0, 0);
    lv_obj_set_style_bg_color(bat_obj, lv_color_make(22, 163, 111), 0);
    lv_obj_set_size(bat_obj, 12, 6);
    lv_obj_align_to(bat_obj, bat_img, LV_ALIGN_LEFT_MID, 3, 0);

    /* 内存显示 */
    lv_obj_t* ram_arc = lv_arc_create(status_bar_cont);
    lv_obj_set_size(ram_arc, 25, 20);
    lv_obj_set_style_arc_width(ram_arc, 3, LV_PART_MAIN);       /* 缩小主体 */
    lv_obj_set_style_arc_width(ram_arc, 3, LV_PART_INDICATOR);  /* 缩小指示 */
    lv_obj_remove_style(ram_arc, NULL, LV_PART_KNOB);           /* 去掉把手 */
    lv_obj_clear_flag(ram_arc, LV_OBJ_FLAG_CLICKABLE);          /* 禁止点击 */
    lv_arc_set_rotation(ram_arc, 135);
    lv_arc_set_bg_angles(ram_arc, 0, 270);
    lv_arc_set_value(ram_arc, 99);
    lv_obj_align_to(ram_arc, bat_obj, LV_ALIGN_OUT_LEFT_MID, -5, 0);
    LV_FONT_DECLARE(lv_siyuan_reg_8);/* 声明字体 */
    lv_obj_t* ram_lab = lv_label_create(ram_arc);
    lv_obj_set_style_text_font(ram_lab, &lv_siyuan_reg_8, LV_STATE_DEFAULT);

    /* USB连接 */
    lv_obj_t* usb_img = lv_img_create(status_bar_cont);
    lv_img_set_src(usb_img, &IconUsb);
    lv_obj_align_to(usb_img, ram_arc, LV_ALIGN_OUT_LEFT_MID, -5, 0);


    /* 开始订阅消息 */
    int8_t temp_int = 100;
    char* temp_str;
    /* 时间 */
    temp_str = "2023-03-02  17:47 ";
    lv_msg_subsribe_obj(PAGE_BAR_RTC, rtc_lab, NULL);
    lv_obj_add_event_cb(rtc_lab, rtc_event_cb, LV_EVENT_MSG_RECEIVED, NULL);
    lv_msg_send(PAGE_BAR_RTC, temp_str);
    /* 电池 */
    lv_msg_subsribe_obj(PAGE_BAR_BAT, bat_img, NULL);
    lv_obj_add_event_cb(bat_img, bat_event_cb, LV_EVENT_MSG_RECEIVED, bat_obj);
    lv_msg_send(PAGE_BAR_BAT, &temp_int);
    /* 内存显示 */
    lv_msg_subsribe_obj(PAGE_BAR_RAM, ram_arc, NULL);
    lv_obj_add_event_cb(ram_arc, ram_event_cb, LV_EVENT_MSG_RECEIVED, ram_lab);
    temp_int = 5;
    lv_msg_send(PAGE_BAR_RAM, &temp_int);
    /* USB显示 */
    lv_msg_subsribe_obj(PAGE_BAR_USB, usb_img, NULL);
    lv_obj_add_event_cb(usb_img, usb_event_cb, LV_EVENT_MSG_RECEIVED, NULL);
    temp_int = 0;
    lv_msg_send(PAGE_BAR_USB, &temp_int);


}
static void lv_pm_xx_bar_clean_hidden_cb(lv_anim_t* anim)
{
    lv_obj_clear_flag(anim->user_data, LV_OBJ_FLAG_HIDDEN);
}
static void lv_pm_xx_bar_on_off_cb(void* var, int32_t v)
{
    lv_obj_set_y(var, v);
}
static void lv_pm_status_bar_on(void)
{
    lv_anim_t anim;

    lv_obj_clear_flag(status_bar_cont, LV_OBJ_FLAG_HIDDEN);

    lv_anim_init(&anim);
    lv_anim_set_var(&anim, status_bar_cont);
    lv_anim_set_values(&anim, lv_obj_get_y_aligned(status_bar_cont), -1);
    lv_anim_set_path_cb(&anim, lv_anim_path_ease_out);
    lv_anim_set_time(&anim, 500);
    lv_anim_set_repeat_count(&anim, 1);
    lv_anim_set_exec_cb(&anim, lv_pm_xx_bar_on_off_cb);
    lv_anim_start(&anim);
}

static void lv_pm_status_bar_off(void)
{
    lv_anim_t anim;
    lv_anim_init(&anim);
    lv_anim_set_var(&anim, status_bar_cont);
    lv_anim_set_values(&anim, lv_obj_get_y_aligned(status_bar_cont), -status_bar_y_default);
    lv_anim_set_path_cb(&anim, lv_anim_path_ease_in);
    lv_anim_set_time(&anim, 500);
    lv_anim_set_repeat_count(&anim, 1);
    lv_anim_set_exec_cb(&anim, lv_pm_xx_bar_on_off_cb);
    lv_anim_start(&anim);
    anim.user_data = status_bar_cont;
    lv_anim_set_ready_cb(&anim, lv_pm_xx_bar_clean_hidden_cb);
}
#endif

#if LV_PM_USE_BACK_BAR == 1
lv_obj_t* bakc_bar_cont_btn;
static lv_obj_t* bakc_bar_cont;
lv_coord_t bakc_bar_y_default;
static void back_btn_scroll_event_cb(lv_event_t* e)
{
    lv_event_code_t code = lv_event_get_code(e);

    if (code == LV_EVENT_SCROLL)
    {
        static uint8_t flag = 0;

        lv_obj_t* cont = lv_event_get_target(e);
        //lv_pm_back();
        lv_coord_t y = lv_obj_get_scroll_y(bakc_bar_cont);
        //printf("%d\r\n", y);
        if (flag == 0 && y > 10)
        {
            flag = 1;
            lv_obj_set_scroll_dir(bakc_bar_cont, LV_DIR_NONE);/* 禁用滚动 */
            //lv_obj_scroll_to_y(cobakc_bar_contnt, 10, LV_ANIM_OFF);
        }
        else if (flag == 1 && y < 5)/*已经释放按键表明滑动结束*/
        {
            flag = 0;
            lv_obj_set_scroll_dir(cont, LV_DIR_BOTTOM);/* 开启滚动 */
            // lv_obj_scroll_to_y(bakc_bar_cont, 3, LV_ANIM_ON);
            lv_pm_control.back();
        }

    }

}

static void back_btn_pressed_event_cb(lv_event_t* e)
{
    lv_event_code_t code = lv_event_get_code(e);

    if (code == LV_EVENT_SHORT_CLICKED)
    {
        lv_pm_control.back();
    }
}

/* 返回bar  他的出现和消失应当是page完全显示时回调 */
//void lv_pm_create_back_bar(void)
//{
//    static lv_style_t back_bar_style;
//    lv_style_init(&back_bar_style);
//
//    lv_style_set_bg_opa(&back_bar_style, LV_OPA_40);                                    /* 设置状态栏的透明度 */
//#if LV_THEME_DEFAULT_DARK == 1
//    lv_style_set_bg_color(&back_bar_style, lv_color_white());
//#else
//    lv_style_set_bg_color(&back_bar_style, lv_color_black());                           /* 设置状态栏渐变颜色 1 */
//#endif
//#if 0
//    /* 使用渐变 */
//    lv_style_set_bg_grad_color(&back_bar_style, lv_color_white());/* 设置状态栏渐变颜色 2 */
//    lv_style_set_bg_grad_dir(&back_bar_style, LV_GRAD_DIR_VER);                         /* 设置状态栏渐变颜色 方向 */
//    lv_style_set_bg_main_stop(&back_bar_style, 0);                                      /* 设置状态栏渐变颜色 开始的数值 */
//    lv_style_set_bg_grad_stop(&back_bar_style, 260);                                    /* 设置状态栏渐变颜色 结束的数值 */
//#endif
//#if 0
//    /* 使用外部框线 */
//    lv_style_set_outline_color(&back_bar_style, lv_palette_lighten(LV_PALETTE_NONE, 1));/* 设置状态栏外边框颜色 */
//    lv_style_set_outline_width(&back_bar_style, 1);                                      /* 设置状态栏外边框像素尺寸 */
//#endif
//#if 0
//    /* 使用外部阴影 使状态栏看起来更柔和*/
//    lv_style_set_shadow_width(&back_bar_style, 10);
//    lv_style_set_shadow_color(&back_bar_style, lv_palette_main(LV_PALETTE_NONE));
//    lv_style_set_shadow_spread(&back_bar_style, 2);
//    lv_style_set_shadow_ofs_y(&back_bar_style, -2);
//    lv_style_set_shadow_opa(&back_bar_style, LV_OPA_40);
//#endif
//
//#if 1
//    /* 向样式注册一个渐变操作 */
//    static lv_style_transition_dsc_t trans;
//    static const lv_style_prop_t trans_props[] = {
//        LV_STYLE_WIDTH, LV_STYLE_HEIGHT, LV_STYLE_BG_COLOR, 0,
//    };
//    lv_style_transition_dsc_init(&trans, trans_props,
//        lv_anim_path_ease_in_out, 100, 0, NULL);
//    lv_style_set_transition(&back_bar_style, &trans);
//
//    /* 设定特殊样式 */
//    lv_style_set_width(&back_bar_style, 120);
//    lv_style_set_height(&back_bar_style, 7);
//
//#endif
//
//    /*创建一个返回栏*/
//    bakc_bar_y_default = -10;
//
//    bakc_bar_cont = lv_obj_create(lv_layer_top());
//    lv_obj_remove_style_all(bakc_bar_cont);
//    lv_obj_add_event_cb(bakc_bar_cont, back_btn_event_cb, LV_EVENT_SHORT_CLICKED, NULL);
//    lv_obj_set_style_radius(bakc_bar_cont, 5, LV_PART_MAIN);
//    lv_obj_set_size(bakc_bar_cont, 100, 3);
//    lv_obj_add_style(bakc_bar_cont, &back_bar_style, LV_PART_MAIN);
//    lv_obj_align(bakc_bar_cont, LV_ALIGN_BOTTOM_MID, 0, -8);
//    /*给返回操作设定一个按下的样式 */
//    lv_obj_add_style(bakc_bar_cont, &back_bar_style, LV_STATE_PRESSED);
//    /* 默认设置为隐藏 */
//    lv_obj_set_y(bakc_bar_cont, -bakc_bar_y_default);
//    lv_obj_clear_flag(bakc_bar_cont, LV_OBJ_FLAG_HIDDEN);
//
//
//    lv_obj_clear_flag(bakc_bar_cont, LV_OBJ_FLAG_SCROLL_CHAIN);
//}

void lv_pm_create_back_bar(void)
{
    static lv_style_t back_bar_style;
    lv_style_init(&back_bar_style);

    lv_style_set_bg_opa(&back_bar_style, LV_OPA_40);                                    /* 设置状态栏的透明度 */
#if LV_THEME_DEFAULT_DARK == 1
    lv_style_set_bg_color(&back_bar_style, lv_color_white());
#else
    lv_style_set_bg_color(&back_bar_style, lv_color_black());                           /* 设置状态栏渐变颜色 1 */
#endif
#if 0
    /* 使用渐变 */
    lv_style_set_bg_grad_color(&back_bar_style, lv_color_white());/* 设置状态栏渐变颜色 2 */
    lv_style_set_bg_grad_dir(&back_bar_style, LV_GRAD_DIR_VER);                         /* 设置状态栏渐变颜色 方向 */
    lv_style_set_bg_main_stop(&back_bar_style, 0);                                      /* 设置状态栏渐变颜色 开始的数值 */
    lv_style_set_bg_grad_stop(&back_bar_style, 260);                                    /* 设置状态栏渐变颜色 结束的数值 */
#endif
#if 0
    /* 使用外部框线 */
    lv_style_set_outline_color(&back_bar_style, lv_palette_lighten(LV_PALETTE_NONE, 1));/* 设置状态栏外边框颜色 */
    lv_style_set_outline_width(&back_bar_style, 1);                                      /* 设置状态栏外边框像素尺寸 */
#endif
#if 0
    /* 使用外部阴影 使状态栏看起来更柔和*/
    lv_style_set_shadow_width(&back_bar_style, 10);
    lv_style_set_shadow_color(&back_bar_style, lv_palette_main(LV_PALETTE_NONE));
    lv_style_set_shadow_spread(&back_bar_style, 2);
    lv_style_set_shadow_ofs_y(&back_bar_style, -2);
    lv_style_set_shadow_opa(&back_bar_style, LV_OPA_40);
#endif
#if 1
    /* 向样式注册一个渐变操作 */
    static lv_style_transition_dsc_t trans;
    static const lv_style_prop_t trans_props[] = {
        LV_STYLE_WIDTH, LV_STYLE_HEIGHT, LV_STYLE_BG_COLOR, (lv_style_prop_t)0,
    };
    lv_style_transition_dsc_init(&trans, trans_props,
        lv_anim_path_ease_in_out, 100, 0, NULL);
    lv_style_set_transition(&back_bar_style, &trans);
#endif

    /*创建一个返回栏*/
    bakc_bar_y_default = -25;
    bakc_bar_cont = lv_obj_create(lv_layer_top());
    lv_obj_set_size(bakc_bar_cont, 100, 25);
    lv_obj_align(bakc_bar_cont, LV_ALIGN_BOTTOM_MID, 0, 0);
    lv_obj_set_style_border_width(bakc_bar_cont, 0, 0);
    lv_obj_set_style_bg_opa(bakc_bar_cont, 0, 0);
    lv_obj_set_scrollbar_mode(bakc_bar_cont, LV_SCROLLBAR_MODE_OFF);/* 关闭滚动条 */
    lv_obj_set_scroll_dir(bakc_bar_cont, LV_DIR_BOTTOM);/* 只允许向下滚动 */
    lv_obj_clear_flag(bakc_bar_cont, LV_OBJ_FLAG_SCROLL_CHAIN);/*禁止传给父对象*/

    bakc_bar_cont_btn = lv_obj_create(bakc_bar_cont);
    lv_obj_remove_style_all(bakc_bar_cont_btn);
    lv_obj_set_style_radius(bakc_bar_cont_btn, 5, LV_PART_MAIN);
    lv_obj_set_size(bakc_bar_cont_btn, 80, 3);
    lv_obj_add_style(bakc_bar_cont_btn, &back_bar_style, LV_PART_MAIN);
    lv_obj_align(bakc_bar_cont_btn, LV_ALIGN_CENTER, 0, 0);
    /*给返回操作设定一个特殊的样式 */
    lv_obj_set_style_width(bakc_bar_cont_btn, 90, LV_STATE_PRESSED);/* 点下变长 */
    lv_obj_set_style_height(bakc_bar_cont_btn, 5, LV_STATE_FOCUSED);/*聚焦变粗 */

    lv_obj_clear_flag(bakc_bar_cont_btn, LV_OBJ_FLAG_CLICKABLE);/* 禁止点击 但是可以使用外部输入聚焦 */
    lv_obj_clear_flag(bakc_bar_cont_btn, LV_OBJ_FLAG_SCROLL_CHAIN);

    /* 默认返回cont时设置为隐藏 */
    lv_obj_set_y(bakc_bar_cont, -bakc_bar_y_default);
    lv_obj_clear_flag(bakc_bar_cont, LV_OBJ_FLAG_HIDDEN);
    /* 注册回调 */
    lv_obj_add_event_cb(bakc_bar_cont, back_btn_scroll_event_cb, LV_EVENT_SCROLL, NULL);/* 滑动回调 */
    lv_obj_add_event_cb(bakc_bar_cont_btn, back_btn_pressed_event_cb, LV_EVENT_SHORT_CLICKED, NULL);/* 点击回调 */
    lv_obj_scroll_to_y(bakc_bar_cont, 3, LV_ANIM_OFF);/* 设置下起始位置，这个位置是试验出来的 */
}

static void lv_pm_back_bar_on(void)
{
    lv_anim_t anim;

    lv_obj_clear_flag(bakc_bar_cont, LV_OBJ_FLAG_HIDDEN);

    lv_anim_init(&anim);
    lv_anim_set_var(&anim, bakc_bar_cont);
    lv_anim_set_values(&anim, lv_obj_get_y_aligned(bakc_bar_cont), 0);
    lv_anim_set_path_cb(&anim, lv_anim_path_ease_out);
    lv_anim_set_time(&anim, 500);
    lv_anim_set_repeat_count(&anim, 1);
    lv_anim_set_exec_cb(&anim, lv_pm_xx_bar_on_off_cb);
    lv_anim_start(&anim);
}
static void lv_pm_back_bar_off(void)
{
    lv_anim_t anim;
    lv_anim_init(&anim);
    lv_anim_set_var(&anim, bakc_bar_cont);
    lv_anim_set_values(&anim, lv_obj_get_y_aligned(bakc_bar_cont), -bakc_bar_y_default);
    lv_anim_set_path_cb(&anim, lv_anim_path_ease_in);
    lv_anim_set_time(&anim, 500);
    lv_anim_set_repeat_count(&anim, 1);
    lv_anim_set_exec_cb(&anim, lv_pm_xx_bar_on_off_cb);
    lv_anim_start(&anim);
    anim.user_data = bakc_bar_cont;
    lv_anim_set_ready_cb(&anim, lv_pm_xx_bar_clean_hidden_cb);
}
#endif
/* 状态栏及返回栏的处理 */
/* 按理来说这个动画应当在界面切换动画完成后再调用 这里偷懒了 */
void lv_pm_bar_control_fun(lv_pm_page_t* new_t)
{
#if LV_PM_USE_STA_BAR == 1
    /* 状态栏如果不在 -1(正常显示位置)，就要开始动画 将状态栏移动到设定位置*/
    if (new_t->status_bar == 0 && lv_obj_get_y_aligned(status_bar_cont) != -1)
    {
        lv_pm_status_bar_on();
    }
    else if (new_t->status_bar == 1 && lv_obj_get_y_aligned(status_bar_cont) != -status_bar_y_default)
    {
        lv_pm_status_bar_off();
    }
#endif

#if LV_PM_USE_BACK_BAR == 1
    if (new_t->back_bar == 0 && lv_obj_get_y_aligned(bakc_bar_cont) != 0)
    {
        lv_pm_back_bar_on();
    }
    else if (new_t->back_bar == 1 && lv_obj_get_y_aligned(bakc_bar_cont) != -bakc_bar_y_default)
    {
        lv_pm_back_bar_off();
    }
#endif
}

